<?php
class cliente{
	private $id;
        //private $id_cliente;
	private $id_empresa;
	private $nome;
	private $dt_nasc;
	private $rg;
        private $doc_jf;
	private $cpf_cnpj;
        private $sexo;
	private $endereco;
	private $numero;
	private $bairro;
	private $cidade;
	private $uf;
	private $cep;
	private $telefone;
	private $celular;
	private $email;
	private $bloqueado;
	private $observacoes;
	private $dt_cadastro;
	private $hr_cadastro;

	public function __construct(){
		$this->id = NULL;
                //$this->id_cliente = NULL;
		$this->id_empresa = NULL;
		$this->nome = NULL;
		$this->dt_nasc = NULL;
		$this->rg = NULL;
                $this->doc_jf = NULL;
		$this->cpf_cnpj = NULL;
                $this->sexo = NULL;
		$this->endereco = NULL;
		$this->numero = NULL;
		$this->bairro = NULL;
		$this->cidade = NULL;
		$this->uf = NULL;
		$this->cep = NULL;
		$this->telefone = NULL;
		$this->celular = NULL;
		$this->email = NULL;
		$this->bloqueado = NULL;
		$this->observacoes = NULL;
		$this->dt_cadastro = NULL;
		$this->hr_cadastro = NULL;
	}

	public function get_id(){
		return $this->id;
	}
        /*
        public function get_id_cliente(){
		return $this->id_cliente;
	}
        */
	public function get_id_empresa(){
		return $this->id_empresa;
	}
	public function get_nome(){
		return $this->nome;
	}
	public function get_dt_nasc(){
            if($this->dt_nasc != ''){
                $dia = substr($this->dt_nasc, 8, 2);
                $mes = substr($this->dt_nasc, 5, 2);
                $ano = substr($this->dt_nasc, 0, 4);
		return $dia."/".$mes."/".$ano;
            }else{
                return '';
            }
	}
	public function get_rg(){
		return $this->rg;
	}
        public function get_doc_jf(){
		return $this->doc_jf;
	}
	public function get_cpf_cnpj(){
		return $this->cpf_cnpj;
	}
        public function get_sexo(){
		return $this->sexo;
	}
	public function get_endereco(){
		return $this->endereco;
	}
	public function get_numero(){
		return $this->numero;
	}
	public function get_bairro(){
		return $this->bairro;
	}
	public function get_cidade(){
		return $this->cidade;
	}
	public function get_uf(){
		return $this->uf;
	}
	public function get_cep(){
		return $this->cep;
	}
	public function get_telefone(){
		return $this->telefone;
	}
	public function get_celular(){
		return $this->celular;
	}
	public function get_email(){
		return $this->email;
	}
	public function get_bloqueado(){
		return $this->bloqueado;
	}
	public function get_observacoes(){
		return $this->observacoes;
	}
	public function get_dt_cadastro(){
		return $this->dt_cadastro;
	}
	public function get_hr_cadastro(){
		return $this->hr_cadastro;
	}
	
	
	public function set_id($id){
		if($id != '' && valida::numero($id)){
                    $this->id = $id;
                    return 1;
		}else{
                    return 0;
                }
        }
        /*
        public function set_id_cliente($id){
		if($id != '' && valida::numero($id)){
                    $this->id_cliente = $id;
                    return 1;
		}else{
                    return 0;
                }
        }
        */
        
	public function set_id_empresa($id_empresa){
		if($id_empresa != '' && valida::numero($id_empresa)){
                    $this->id_empresa = $id_empresa;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_nome($nome){
		if($nome != '' && valida::nome($nome)){
                    $this->nome = $nome;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_dt_nasc($dt_nasc){
                if($dt_nasc == ''){
                    return 1;
                }
                
                $dia = substr($dt_nasc, 0, 2);
                $mes = substr($dt_nasc, 3, 2);
                $ano = substr($dt_nasc, 6, 4);
                
                if(!valida::numero($dia)){return 0;}
                if(!valida::numero($mes)){return 0;}
                if(!valida::numero($ano)){return 0;}
                
		if(valida::data($dia, $mes, $ano)){
                    $this->dt_nasc = $ano."-".$mes."-".$dia;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_rg($rg){
		if(valida::numero($rg)){
                    $this->rg = $rg;
                    return 1;
		}else{
                    return 0;
                }
        }
        
        public function set_doc_jf($doc_jf){
		if($doc_jf == 1){
                    $this->doc_jf = 1;
		}else{
                    $this->doc_jf = 0;
                }
                return 1;
        }

	public function set_cpf_cnpj($cpf_cnpj){
                $cpf_cnpj = addslashes($cpf_cnpj);
		if($cpf_cnpj != '' && (valida::cpf($cpf_cnpj) || valida::cnpj($cpf_cnpj))){
                    $this->cpf_cnpj = $cpf_cnpj;
                    return 1;
		}else{
                    return 0;
                }
        }
        
        public function set_sexo($sexo){
            if($sexo == ''){$sexo = 0;}
		if($sexo == 0 || $sexo == 1 || $sexo == 2){
                    $this->sexo = $sexo;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_endereco($endereco){
		if(valida::endereco($endereco)){
                    $this->endereco = $endereco;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_numero($numero){
		if(valida::numero($numero)){
                    $this->numero = $numero;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_bairro($bairro){
		if(valida::nome_num($bairro)){
                    $this->bairro = $bairro;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_cidade($cidade){
            if($cidade == ''){
                return 0;
            }
            if(valida::nome($cidade)){
                $this->cidade = $cidade;
                return 1;
            }else{
                return 0;
            }
        }

	public function set_uf($uf){
            if($uf == ''){
                return 0;
            }
            if(valida::nome($uf)){
                $this->uf = $uf;
                return 1;
            }else{
                return 0;
            }
        }

	public function set_cep($cep){
            if($cep == ''){
                return 1;
            }
            if(valida::cep($cep)){
                $this->cep = $cep;
                return 1;
            }else{
                return 0;
            }
        }

	public function set_telefone($telefone){
		if(valida::telefone($telefone)){
                    $this->telefone = $telefone;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_celular($celular){
		if(valida::telefone($celular)){
                    $this->celular = $celular;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_email($email){
            if($email == ''){
                return 1;
            }
            if(valida::email($email)){
                $this->email = $email;
                return 1;
            }else{
                return 0;
            }
        }

	public function set_bloqueado($bloqueado){
		if(valida::numero($bloqueado)){
                    $this->bloqueado = $bloqueado;
                    return 1;
		}else{
                    return 0;
                }
        }

	public function set_observacoes($observacoes){
                $observacoes = addslashes($observacoes);
                $this->observacoes = $observacoes;
                return 1;
        }

	public function set_dt_cadastro($dt_cadastro){
                $dt_cadastro = addslashes($dt_cadastro);
                $this->dt_cadastro = $dt_cadastro;
                return 1;
        }

	public function set_hr_cadastro($hr_cadastro){
                $hr_cadastro = addslashes($hr_cadastro);
                $this->hr_cadastro = $hr_cadastro;
                return 1;
        }
        
        public function checaCpf($cpf){
            if(valida::cpf($cpf) || valida::cnpj($cpf)){
                $sql = "select count(*) from sgm_cliente where cpf_cnpj = '$cpf' and id_empresa = '".$_SESSION["sgm_id_empresa"]."'";
                $db = new db(config::$driver);
                $con = $db->select($sql);
                
                if($con[0][0] == 0){
                    return 1;
                }else{
                    return 0;
                }
            }else{
                return 0;
            }
        }
        
        
        

	
	
	public function salvar(){
                $db = new db(config::$driver);
                $con = $db->conecta();
                /*
                $sql_id = "select max(id_venda) from sgm_cliente where id_empresa = '".$_SESSION["sgm_id_empresa"]."'";

                $res_id = $db->query($sql_id, $con);
                $id = $db->fetch_array($res_id);
            
                if($id[0] == '' || $id[0] == 0){
                    $this->id_cliente = 1;
                }else{
                    $this->id_cliente = $id[0] + 1;
                }
                */
                
                //$sql = "replace into sgm_cliente(id, id_cliente, id_empresa, nome, dt_nasc, rg, cpf_cnpj, sexo, endereco, numero, bairro, cidade, uf, cep, telefone, celular, email, bloqueado, observacoes, dt_cadastro, hr_cadastro) values('".$this->id."', '".$this->id_cliente."', '".$this->id_empresa."', '".$this->nome."', '".$this->dt_nasc."', '".$this->rg."', '".$this->cpf_cnpj."', '".$this->sexo."', '".$this->endereco."', '".$this->numero."', '".$this->bairro."', '".$this->cidade."', '".$this->uf."', '".$this->cep."', '".$this->telefone."', '".$this->celular."', '".$this->email."', '".$this->bloqueado."', '".$this->observacoes."', '".$this->dt_cadastro."', '".$this->hr_cadastro."')";
                $sql = "replace into sgm_cliente(id, id_empresa, nome, dt_nasc, rg, cpf_cnpj, sexo, endereco, numero, bairro, cidade, uf, cep, telefone, celular, email, bloqueado, observacoes, dt_cadastro, hr_cadastro) values('".$this->id."', '".$this->id_empresa."', '".$this->nome."', '".$this->dt_nasc."', '".$this->rg."', '".$this->cpf_cnpj."', '".$this->sexo."', '".$this->endereco."', '".$this->numero."', '".$this->bairro."', '".$this->cidade."', '".$this->uf."', '".$this->cep."', '".$this->telefone."', '".$this->celular."', '".$this->email."', '".$this->bloqueado."', '".$this->observacoes."', '".$this->dt_cadastro."', '".$this->hr_cadastro."')";
                $res = $db->query($sql, $con);
                $db->close($con);
                
                if($this->id != NULL){
                    $texto = "Alterar";
                }else{
                    $texto = "Inserir";
                }
                //$texto .= " Cliente: ID = '".$this->id."', ID do Cliente = '".$this->id_cliente."', Nome = '".$this->nome."', Data de nascimento = '".$this->dt_nasc."', RG = '".$this->rg."', CPF ou CNPJ = '".$this->cpf_cnpj."', Sexo = '".$this->sexo."', Endereço = '".$this->endereco."', Número = '".$this->numero."', Bairro = '".$this->bairro."', Cidade = '".$this->cidade."', UF = '".$this->uf."', CEP = '".$this->cep."', Telefone = '".$this->telefone."', Celular = '".$this->celular."', E-Mail = '".$this->email."', Bloqueado = '".$this->bloqueado."', Observações = '".$this->observacoes."', Data de cadastro = '".$this->dt_cadastro."', Hora de cadastro = '".$this->hr_cadastro."'";
                $texto .= " Cliente: ID = '".$this->id."', Nome = '".$this->nome."', Data de nascimento = '".$this->dt_nasc."', RG = '".$this->rg."', CPF ou CNPJ = '".$this->cpf_cnpj."', Sexo = '".$this->sexo."', Endereço = '".$this->endereco."', Número = '".$this->numero."', Bairro = '".$this->bairro."', Cidade = '".$this->cidade."', UF = '".$this->uf."', CEP = '".$this->cep."', Telefone = '".$this->telefone."', Celular = '".$this->celular."', E-Mail = '".$this->email."', Bloqueado = '".$this->bloqueado."', Observações = '".$this->observacoes."', Data de cadastro = '".$this->dt_cadastro."', Hora de cadastro = '".$this->hr_cadastro."'";
                $log = new log($_SESSION["sgm_id_empresa"], $_SESSION["sgm_usuario"], $texto);
                unset($log);
                
		return $res;
	}
	public function carregar($id){
		$sql = "select * from sgm_cliente where id = '$id' and id_empresa = '".$_SESSION["sgm_id_empresa"]."'";

		$db = new db(config::$driver);
                $con = $db->conecta();
                $res = $db->query($sql, $con);
                $db->close($con);
		$cliente = $db->fetch_array($res);

		$this->id = $cliente["id"];
                //$this->id_cliente = $cliente["id_cliente"];
		$this->id_empresa = $cliente["id_empresa"];
		$this->nome = $cliente["nome"];
		$this->dt_nasc = $cliente["dt_nasc"];
		$this->rg = $cliente["rg"];
		$this->cpf_cnpj = $cliente["cpf_cnpj"];
                $this->sexo = $cliente["sexo"];
		$this->endereco = $cliente["endereco"];
		$this->numero = $cliente["numero"];
		$this->bairro = $cliente["bairro"];
		$this->cidade = $cliente["cidade"];
		$this->uf = $cliente["uf"];
		$this->cep = $cliente["cep"];
		$this->telefone = $cliente["telefone"];
		$this->celular = $cliente["celular"];
		$this->email = $cliente["email"];
		$this->bloqueado = $cliente["bloqueado"];
		$this->observacoes = $cliente["observacoes"];
		$this->dt_cadastro = $cliente["dt_cadastro"];
		$this->hr_cadastro = $cliente["hr_cadastro"];
		
                if(strlen($this->cpf_cnpj) > 14){
                    $this->doc_jf = 1;
                }else{
                    $this->doc_jf = 0;
                }
                
		return 1;
	}
}
?>
